hvmloader/ovmf: remove hardcoded OVMF loading location
authorWei Liu <wei.liu2@citrix.com>
Tue, 26 Nov 2013 19:31:41 +0000 (19:31 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 29 Nov 2013 10:29:04 +0000 (10:29 +0000)
Load OVMF from (100000000ULL - sizeof(ovmf)) to 0xFFFFFFFF, with proper
rounding down.

Tested with OVMF release build (1 MB) and debug build (2 MB), both
worked fine.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
tools/firmware/hvmloader/ovmf.c

index ee4cbbfd15062f7473767695dd26d09f4cce97f3..148102a8b6b823356f649ef2130243f225499c40 100644 (file)
@@ -38,9 +38,9 @@
 #define ROM_INCLUDE_OVMF
 #include "roms.inc"
 
-#define OVMF_BEGIN              0xFFF00000ULL
-#define OVMF_SIZE               0x00100000ULL
+#define OVMF_SIZE               (sizeof(ovmf))
 #define OVMF_MAXOFFSET          0x000FFFFFULL
+#define OVMF_BEGIN              (0x100000000ULL - ((OVMF_SIZE + OVMF_MAXOFFSET) & ~OVMF_MAXOFFSET))
 #define OVMF_END                (OVMF_BEGIN + OVMF_SIZE)
 #define LOWCHUNK_BEGIN          0x000F0000
 #define LOWCHUNK_SIZE           0x00010000